package com.kb.vo.components;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.List;

@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "元器件")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ComponentStockVO {

    @ApiModelProperty(value = "主键ID，自动生成")
    private Long id;

    @ApiModelProperty(value = "图片地址")
    private String picUrl;

    @ApiModelProperty(value = "制造商型号")
    private String model;

    @ApiModelProperty(value = "产品类型")
    private String type;

    @ApiModelProperty(value = "品牌")
    private String brand;

    @ApiModelProperty(value = "规格")
    private String specifications;

    @ApiModelProperty(value = "属性")
    private String attribute;

    @ApiModelProperty(value = "库存类型", allowableValues = "1,2,3",
            notes = "1-线上库存，2-导入库存，3-自备库存",
            example = "1")
    private Integer stockType = 1;

    @ApiModelProperty(value = "供应商code")
    private String supplierCode;

    @ApiModelProperty(value = "供应商Name")
    private String supplierName;

    @ApiModelProperty(value = "包装")
    private String packaging;

    @ApiModelProperty(value = "价格列表")
    @TableField(exist = false)
    private List<ComponentPriceVO> priceList;

    @ApiModelProperty(value = "关键字，暂时只用于得捷，昴氏缓存")
    private String keyword;

    @ApiModelProperty(value = "内部零件号，暂时只用于得捷缓存")
    private String partnumber;

    @ApiModelProperty(value = "来源", allowableValues = "1,2,3",
            notes = "1-api，2-人工，3-国创")
    private Integer source;

    @ApiModelProperty(value = "商品ID")
    private String goodsId;

    @ApiModelProperty(value = "库状态")
    @TableField("library_status")
    private Integer libraryStatus;

    @ApiModelProperty(value = "批次代码")
    private String batchCode;

    @ApiModelProperty(value = "最小包装")
    @TableField("min_package")
    private String minPackage;

    @ApiModelProperty(value = "lt值")
    private String ltvalue;
}